

//日期格式化日期
function timeStr(date){



    // 获取年、月、日
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始，所以要加 1
    const day = String(date.getDate()).padStart(2, '0');

    // 拼接日期字符串
    mtime=`${year}-${month}-${day}`;
    // console.log(mtime)

    return  mtime;

}

//获取开始和结束日期之间的所有日期
function get_dates(startDate, endDate) {
    // 循环遍历从开始日期到结束日期的所有日期 并返回数组
    const currentDate = new Date(startDate);
    var timeArr=   []
    while (currentDate <= endDate) {

        // 打印格式化后的日期
        console.log(currentDate);
        timeArr.push(timeStr(currentDate))
        // 增加一天
        currentDate.setDate(currentDate.getDate() + 1);
    }
    return timeArr;
}



//计算  以参数1 为基准  计算参数2 天之后的日期
function calcu_to_Date(dateStr, days) {
    // 创建一个 Date 对象，将传入的日期字符串转换为日期对象
    const inputDate = new Date(dateStr);

    // 计算指定天数对应的毫秒数
    const millisecondsInADay = 24 * 60 * 60 * 1000;
    const daysInMilliseconds = days * millisecondsInADay;

    // 获取输入日期的时间戳
    const inputTimestamp = inputDate.getTime();

    // 计算相隔指定天数后的时间戳
    const futureTimestamp = inputTimestamp + daysInMilliseconds;

    // 使用新的时间戳创建一个新的 Date 对象
    return new Date(futureTimestamp);


}



function disablePageInteraction() {
    // 禁用所有按钮和输入框
    const buttons = document.querySelectorAll('button');
    const inputs = document.querySelectorAll('input, textarea');
    buttons.forEach(button => button.disabled = true);
    inputs.forEach(input => input.disabled = true);

    // 创建一个覆盖层 div
    const overlay = document.createElement('div');
    overlay.id = 'loading-overlay';
    overlay.style.position = 'fixed';
    overlay.style.top = '0';
    overlay.style.left = '0';
    overlay.style.width = '100%';
    overlay.style.height = '100%';
    overlay.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
    overlay.style.display = 'flex';
    overlay.style.justifyContent = 'center';
    overlay.style.alignItems = 'center';
    overlay.style.zIndex = '1000';

    // 创建一个提示信息 div
    const message = document.createElement('div');
    message.textContent = '正在生成请等待...';
    message.style.backgroundColor = 'white';
    message.style.padding = '20px';
    message.style.borderRadius = '5px';
    message.style.fontSize = '18px';

    // 将提示信息 div 添加到覆盖层 div
    overlay.appendChild(message);

    // 将覆盖层 div 添加到页面
    document.body.appendChild(overlay);
}

function enablePageInteraction() {
    // 启用所有按钮和输入框
    const buttons = document.querySelectorAll('button');
    const inputs = document.querySelectorAll('input, textarea');
    buttons.forEach(button => button.disabled = false);
    inputs.forEach(input => input.disabled = false);

    // 移除覆盖层 div
    const overlay = document.getElementById('loading-overlay');
    if (overlay) {
        overlay.parentNode.removeChild(overlay);
    }
}



function setForm(mName,conf){
    // 获取表单元素
const form = document.getElementById(mName);

// 遍历 JSON 对象
for (const key in conf) {
    if (conf.hasOwnProperty(key)) {
        const value = conf[key];
        // 查找表单中 name 属性与 JSON 键匹配的元素
        const input = form.querySelector(`[name="${key}"]`);
        if (input) {
            // 如果是数组或对象，将其转换为字符串
            if (Array.isArray(value) || typeof value === 'object') {
                input.value = JSON.stringify(value);
            } else {
                input.value = value;
            }
        }
    }
}
}



function getForm(mName) {
    const form = document.getElementById(mName);
    const  mfrom={"mfrom":[]}

    for (let i = 0; i < form.elements.length; i++) {
        const element = form.elements[i];
        if (!element.name) {

            console.log("跳过无name属性的元素");

        } else {
            console.log(`元素名称: ${element.name}, 元素值: ${element.value}`);
            mfrom["mfrom"].push({"name": element.value, "value": element.value})
        }


    }
    console.log("mfrom  ", mfrom);
    // 转换为JSON字符串（可根据需要替换为实际提交逻辑）
    return  JSON.stringify( mfrom, null, 2);

}


